package com.qujia.station.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qujia.common.annotation.Excel;
import com.qujia.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 订单支付对象 pay_order
 *
 * @author qujia
 * @date 2021-01-12
 */
public class SendPayOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;



    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 油站id */
    private Long stationId;
    /** 油站名称 */
    @Excel(name = "油站名称")
    private String stationName;


    /** 油企id */
    private Long enterpriseId;
    /** 油企名称 */
    @Excel(name = "油企名称")
    private String enterpriseName;


    @Excel(name = "支付状态",readConverterExp="1=支付成功,3=线上退款")
    /** 状态(0未支付，1，已支付) */
    private String status;

    /** 用户id(消费者) */
    private Long consumerId;



    /** 加油枪号 */
    @Excel(name = "加油枪号")
    private String oilGun;

    /** 油品名称 */
    @Excel(name = "油品名称")
    private String oilName;

    /** 油品价格 */
    @Excel(name = "油品价格")
    private BigDecimal oilPirce;

    /** 油品类型（1.柴油 2 汽油） */
    private String oilType;

    /** 加油升数 */
    @Excel(name = "加油升数")
    private BigDecimal orderLiters;

    @Excel(name = "应付金额")
    /** 应收金额 */
    private BigDecimal receivableAmt;
    /** 实收金额 */
    @Excel(name = "实付金额")
    private BigDecimal amt;


    /** 到账金额 */
    private BigDecimal receivedAmt;
    @Excel(name = "折扣金额")
    /** 优惠金额 */
    private BigDecimal discountAmt;
    @Excel(name = "优惠券金额")
    /** 优惠券金额 */
    private BigDecimal discountCouponAmt;


    /** 微信支付金额 */
    private BigDecimal wxAmt;

    /** 支付宝支付金额 */
    private BigDecimal zfbAmt;

    /** pos支付金额 */
    private BigDecimal posAmt;

    /** 现金支付金额 */
    private BigDecimal xjAmt;








    @Excel(name = "支付方式",readConverterExp="wx=微信,zfb=支付宝,dzk=电子卡,xj=现金")
    /** 支付类型：随行付：sxf */
    private String payType;

    /** 支付方式：02公众号，03小程序 */
    private String appType;



    /** 支付时间 */

    @Excel(name = "支付时间",dateFormat = "yyyy-MM-dd HH:mm:ss" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  //  @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payDate;

    /** 创建时间 */
    @Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    //@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createdDate;

    /** 订单类型（1.柴油，2.汽油，积分：3.现金+积分4.现金，5.积分） */
    private String orderType;




    /** 客户电话 */
    @Excel(name = "客户手机号")
    private String customerPhone;














    private List<String> stationIdList;


    public List<String> getStationIdList() {
        return stationIdList;
    }

    public void setStationIdList(List<String> stationIdList) {
        this.stationIdList = stationIdList;
    }


    public Long getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(Long enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public String getEnterpriseName() {
        return enterpriseName;
    }

    public void setEnterpriseName(String enterpriseName) {
        this.enterpriseName = enterpriseName;
    }


    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }
    public void setStationId(Long stationId)
    {
        this.stationId = stationId;
    }

    public Long getStationId()
    {
        return stationId;
    }
    public void setStationName(String stationName)
    {
        this.stationName = stationName;
    }

    public String getStationName()
    {
        return stationName;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setConsumerId(Long consumerId)
    {
        this.consumerId = consumerId;
    }

    public Long getConsumerId()
    {
        return consumerId;
    }

    public void setOilGun(String oilGun)
    {
        this.oilGun = oilGun;
    }

    public String getOilGun()
    {
        return oilGun;
    }
    public void setOilName(String oilName)
    {
        this.oilName = oilName;
    }

    public String getOilName()
    {
        return oilName;
    }
    public void setOilPirce(BigDecimal oilPirce)
    {
        this.oilPirce = oilPirce;
    }

    public BigDecimal getOilPirce()
    {
        return oilPirce;
    }
    public void setOilType(String oilType)
    {
        this.oilType = oilType;
    }

    public String getOilType()
    {
        return oilType;
    }

    public BigDecimal getOrderLiters() {
        return orderLiters;
    }

    public void setOrderLiters(BigDecimal orderLiters) {
        this.orderLiters = orderLiters;
    }

    public BigDecimal getAmt() {
        return amt;
    }

    public void setAmt(BigDecimal amt) {
        this.amt = amt;
    }

    public void setReceivableAmt(BigDecimal receivableAmt)
    {
        this.receivableAmt = receivableAmt;
    }

    public BigDecimal getReceivableAmt()
    {
        return receivableAmt;
    }
    public void setReceivedAmt(BigDecimal receivedAmt)
    {
        this.receivedAmt = receivedAmt;
    }

    public BigDecimal getReceivedAmt()
    {
        return receivedAmt;
    }
    public void setDiscountAmt(BigDecimal discountAmt)
    {
        this.discountAmt = discountAmt;
    }

    public BigDecimal getDiscountAmt()
    {
        return discountAmt;
    }
    public void setDiscountCouponAmt(BigDecimal discountCouponAmt)
    {
        this.discountCouponAmt = discountCouponAmt;
    }

    public BigDecimal getDiscountCouponAmt()
    {
        return discountCouponAmt;
    }

    public void setWxAmt(BigDecimal wxAmt)
    {
        this.wxAmt = wxAmt;
    }

    public BigDecimal getWxAmt()
    {
        return wxAmt;
    }
    public void setZfbAmt(BigDecimal zfbAmt)
    {
        this.zfbAmt = zfbAmt;
    }

    public BigDecimal getZfbAmt()
    {
        return zfbAmt;
    }
    public void setPosAmt(BigDecimal posAmt)
    {
        this.posAmt = posAmt;
    }

    public BigDecimal getPosAmt()
    {
        return posAmt;
    }
    public void setXjAmt(BigDecimal xjAmt)
    {
        this.xjAmt = xjAmt;
    }

    public BigDecimal getXjAmt()
    {
        return xjAmt;
    }

    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType()
    {
        return payType;
    }

    public String getAppType() {
        return appType;
    }

    public void setAppType(String appType) {
        this.appType = appType;
    }

    public void setPayDate(Date payDate)
    {
        this.payDate = payDate;
    }

    public Date getPayDate()
    {
        return payDate;
    }
    public void setCreatedDate(Date createdDate)
    {
        this.createdDate = createdDate;
    }

    public Date getCreatedDate()
    {
        return createdDate;
    }
    public void setOrderType(String orderType)
    {
        this.orderType = orderType;
    }

    public String getOrderType()
    {
        return orderType;
    }
    public void setCustomerPhone(String customerPhone)
    {
        this.customerPhone = customerPhone;
    }

    public String getCustomerPhone()
    {
        return customerPhone;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderNo", getOrderNo())
            .append("stationId", getStationId())
            .append("stationName", getStationName())
            .append("status", getStatus())
            .append("consumerId", getConsumerId())
            .append("oilGun", getOilGun())
            .append("oilName", getOilName())
            .append("oilPirce", getOilPirce())
            .append("oilType", getOilType())
            .append("orderLiters", getOrderLiters())
            .append("amt", getAmt())
            .append("receivableAmt", getReceivableAmt())
            .append("receivedAmt", getReceivedAmt())
            .append("discountAmt", getDiscountAmt())
            .append("discountCouponAmt", getDiscountCouponAmt())
            .append("wxAmt", getWxAmt())
            .append("zfbAmt", getZfbAmt())
            .append("posAmt", getPosAmt())
            .append("xjAmt", getXjAmt())
            .append("payType", getPayType())
            .append("appType", getAppType())
            .append("payDate", getPayDate())
            .append("createdDate", getCreatedDate())
            .append("orderType", getOrderType())
            .append("customerPhone", getCustomerPhone())
            .toString();
    }
}
